package com.sigerap.comprobante.action;

import com.sigerap.comprobante.model.Comprobante;
import com.sigerap.comprobante.service.ComprobanteService;
import com.sigerap.cuenta.model.Cuenta;
/**
 * 
 * @author Spirit-20121
 *
 */
public class RegistrarComprobanteAction {
	
	private ComprobanteService service;
	private Comprobante comprobante;
	private String mensaje;
	private Cuenta cuenta;
	
	public RegistrarComprobanteAction(){
		service=new ComprobanteService();
	}
	
	public String execute()throws Exception{
		String retorno="exito";
		comprobante.setNroCuenta(cuenta.getNroCuenta());
		comprobante.setMontoVuelto(comprobante.getMontoRecibido()-comprobante.getMontoTotal());
		/*String dniruc = comprobante.getRucDni();
		String razonNombre = comprobante.getRazonNombre();
		String direccion = comprobante.getDireccion();
		String tcomp = comprobante.getTipoComprobante();
		String fpago = comprobante.getFormaPago();
		double mrcibido = comprobante.getMontoRecibido();
		double total = comprobante.getMontoTotal();*/
		
		try{
	
			
				mensaje="Registro Satisfactorio,..El vuelto a entregar es: " + comprobante.getMontoVuelto();			
				comprobante=service.registrarProveedor(comprobante);
					
				
		}catch(Exception ex){
			retorno="sinexito";
			mensaje=ex.getMessage();
		}			
		return retorno;
	}

	public String voucher(){
		String retorno="voucher";
		comprobante.setNroCuenta(cuenta.getNroCuenta());
		comprobante.setMontoVuelto(comprobante.getMontoRecibido()-comprobante.getMontoTotal());
		String dniruc = comprobante.getRucDni();
		String razonNombre = comprobante.getRazonNombre();
		String direccion = comprobante.getDireccion();
		String tcomp = comprobante.getTipoComprobante();
		String fpago = comprobante.getFormaPago();
		double mrcibido = comprobante.getMontoRecibido();
		double total = comprobante.getMontoTotal();
		
		try{
			
			
			
			if(  total==0 || dniruc.equalsIgnoreCase("") || razonNombre.equalsIgnoreCase("") || direccion.equalsIgnoreCase("") || tcomp.equalsIgnoreCase("Seleccionar")
					|| fpago == null || mrcibido == 0.0 || mrcibido < 0 ){
				mensaje = "Ingrese los datos correctamente.";
			}else{
				mensaje = "Ingrese los datos correctamente.";
					if( dniruc.length()!=8 || dniruc.length()!=11  ){
						mensaje = "Ingrese correctanmente el numero de documento";
					}else{
						if(razonNombre.length()<3){
							mensaje = "Ingrese correctamente Razon Social / Nombre";
						}else{
							if(direccion.length()<5){
								mensaje = "Ingrese correctamente Razon Social / Nombre";
							}else{
								mensaje="Registro Satisfactorio,..El vuelto a entregar es: " + comprobante.getMontoVuelto();			
								comprobante=service.registrarProveedor(comprobante);
							}
						}
					}
			}		
		}catch(Exception ex){
			retorno="sinexito";
			mensaje=ex.getMessage();
		}			
		return retorno;
	}
	public Comprobante getComprobante() {
		return comprobante;
	}

	public void setComprobante(Comprobante comprobante) {
		this.comprobante = comprobante;
	}

	public String getMensaje() {
		return mensaje;
	}

	public void setMensaje(String mensaje) {
		this.mensaje = mensaje;
	}

	public Cuenta getCuenta() {
		return cuenta;
	}

	public void setCuenta(Cuenta cuenta) {
		this.cuenta = cuenta;
	}
}
